﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace sy3_2
{
    class Program
    {
        static void Main(string[] args)
        {
            // 声明变量用于存储用户输入
            float length, width, price;
            int layers;

            // 获取楼房长度
            Console.Write("请输入楼房长(米): ");
            string lengthInput = Console.ReadLine();
            length = float.Parse(lengthInput);

            // 获取楼房宽度
            Console.Write("请输入楼房宽(米): ");
            string widthInput = Console.ReadLine();
            width = float.Parse(widthInput);

            // 获取楼层数
            Console.Write("请输入楼层数(层): ");
            string layersInput = Console.ReadLine();
            layers = int.Parse(layersInput);

            // 获取楼房单价
            Console.Write("请输入楼单价(万): ");
            string priceInput = Console.ReadLine();
            price = float.Parse(priceInput);

            // 创建Building对象并设置属性
            Building building = new Building(length, width, layers);
            building.MyPrice = price;

            // 输出结果
            Console.WriteLine("\n---以下是输出---\n");
            Console.Write("楼房总面积为(平方): ");
            Console.WriteLine(building.GetArea());
            Console.Write("楼房总价格为(万元): ");
            Console.WriteLine(building.TotalPrice());

            // 等待用户按键结束程序
            Console.Write("\n按任意键结束程序: ");
            Console.ReadKey();
        }
    }

    // Building类定义
    class Building
    {
        // 私有数据成员
        private float length;   // 楼房长度
        private float width;    // 楼房宽度
        private float price;    // 每平方米单价
        private int layers;     // 楼层数

        // 计算楼房总面积的方法
        public float GetArea()
        {
            // 面积 = 长 × 宽 × 层数
            return length * width * layers;
        }

        // 计算楼房总价格的方法
        public float TotalPrice()
        {
            // 总价 = 面积 × 单价
            return GetArea() * price;
        }

        // 单价属性（可读写）
        public float MyPrice
        {
            set
            {
                price = value;
            }
            get
            {
                return price;
            }
        }

        // 构造函数 - 初始化长、宽、层数
        public Building(float l, float w, int lys)
        {
            this.length = l;
            this.width = w;
            this.layers = lys;
        }
    }
}